/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tk.eigh.ksvg.component.filter;

import ksvg.core.SVGFilter;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
import tk.eigh.ksvg.types.SVGNumber;

/**
 * <p>This filter primitive offsets the input image relative to its current
 * position in the image space by the specified vector.</p> <p>This is important
 * for effects like drop shadows.</p> <p>When applying this filter, the
 * destination location may be offset by a fraction of a pixel in device space.
 * In this case a <a href="http://www.w3.org/TR/SVG/conform.html#ConformingHighQualitySVGViewers">high
 * quality viewer</a> should make use of appropriate interpolation techniques,
 * for example bilinear or bicubic. This is especially recommended for dynamic
 * viewers where this interpolation provides visually smoother movement of
 * images. For static viewers this is less of a concern. Close attention should
 * be made to the <a href="http://www.w3.org/TR/SVG/painting.html#ImageRenderingProperty"><span
 * class="prop-name">‘image-rendering’</span></a> property setting to determine
 * the authors intent.</p>
 */
@JSFComponent(name = "svg:Offset",
type = "tk.eigh.svg.Offset",
family = "filter.Offset",
clazz = "ksvg.filter.Offset",
tagClass = "ksvg.tags.filter.OffsetTag",
defaultRendererType = "filter.SVGOffsetRenderer")
public abstract class AbstractOffset extends SVGFilter {

    /**
     * dx = "<em><a
     * href="http://www.w3.org/TR/SVG/types.html#DataTypeNumber">&lt;number&gt;</a></em>"The
     * amount to offset the input graphic along the x-axis. The offset amount is
     * expressed in the coordinate system established by attribute <a
     * href="http://www.w3.org/TR/SVG/filters.html#FilterElementPrimitiveUnitsAttribute">‘primitiveUnits’</a>
     * on the <a href="http://www.w3.org/TR/SVG/filters.html#FilterElement">‘filter’</a> element.<br/> If
     * the attribute is not specified, then the effect is as if a value of 0
     * were specified.<br/> <a href="http://www.w3.org/TR/SVG/animate.html#Animatable">Animatable</a>:
     * yes.
     */
    @JSFProperty
    public abstract SVGNumber getDx();

    /**
     * dy = "<em><a
     * href="http://www.w3.org/TR/SVG/types.html#DataTypeNumber">&lt;number&gt;</a></em>"The
     * amount to offset the input graphic along the y-axis. The offset amount is
     * expressed in the coordinate system established by attribute <a
     * href="http://www.w3.org/TR/SVG/filters.html#FilterElementPrimitiveUnitsAttribute">‘primitiveUnits’</a>
     * on the <a href="http://www.w3.org/TR/SVG/filters.html#FilterElement">‘filter’</a> element.<br/> If
     * the attribute is not specified, then the effect is as if a value of 0
     * were specified.<br/> <a href="http://www.w3.org/TR/SVG/animate.html#Animatable">Animatable</a>:
     * yes.
     */
    @JSFProperty
    public abstract SVGNumber getDy();
}